fix-gnus-output-to-mail-with-live-rmail-buffers.diff
authorRob Browning <rlb@defaultvalue.org>
Tue, 5 Apr 2011 03:46:36 +0000 (22:46 -0500)
committerRob Browning <rlb@defaultvalue.org>
Tue, 5 Apr 2011 03:46:36 +0000 (22:46 -0500)
* Fcc should work properly even if the buffer is being visited in rmail-mode.
  Patch: fix-gnus-output-to-mail-with-live-rmail-buffers.diff
Provided-by: Sven Joachim <svenjoac@gmx.de>
  Date: Tue, 21 Sep 2010 08:14:57 +0200
Added-by: Rob Browning <rlb@defaultvalue.org>
  Status: incorporated upstream

  The Debian patch is taken from this upstream commit:

  revno: 100052
  committer: Glenn Morris <rgm@gnu.org>
  branch nick: emacs-23
  timestamp: Mon 2010-09-20 20:11:34 -0700
  message:
    Fix message-mode bug with fcc to Rmail buffers.

    * lisp/gnus/message.el (message-output): Use gnus-output-to-rmail if a
    buffer is visiting the fcc file in rmail-mode.

lisp/gnus/ChangeLog
lisp/gnus/message.el

index 45308157044e4e1e687070c832b7678a70daf39a..a97defd52e0d2d3c74ff8605f5b526eef1b8a1f0 100644 (file)
@@ -1,3 +1,8 @@
+2010-09-21  Glenn Morris  <rgm@gnu.org>
+
+       * message.el (message-output): Use gnus-output-to-rmail if a buffer is
+       visiting the fcc file in rmail-mode.
+
 2010-04-22  Andreas Seltenreich  <seltenreich@gmx.de>
 
        * message.el (message-generate-headers): Record insertion of optional
index dd230ba667a544c87840510f1c1f45e31a6980da..3c1cb80d0841a061137e34c06165142aea1914ee 100644 (file)
@@ -5317,8 +5317,14 @@ Otherwise, generate and save a value for `canlock-password' first."
 
 (defun message-output (filename)
   "Append this article to Unix/babyl mail file FILENAME."
-  (if (and (file-readable-p filename)
-          (mail-file-babyl-p filename))
+  (if (or (and (file-readable-p filename)
+              (mail-file-babyl-p filename))
+         ;; gnus-output-to-mail does the wrong thing with live, mbox
+         ;; Rmail buffers in Emacs 23.
+         ;; http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=597255
+         (let ((buff (find-buffer-visiting filename)))
+           (and buff (with-current-buffer buff
+                       (eq major-mode 'rmail-mode)))))
       (gnus-output-to-rmail filename t)
     (gnus-output-to-mail filename t)))